/*
 *    Copyright 2009-2023 the original author or authors.
 *
 *    Licensed under the Apache License, Version 2.0 (the "License");
 *    you may not use this file except in compliance with the License.
 *    You may obtain a copy of the License at
 *
 *       http://www.apache.org/licenses/LICENSE-2.0
 *
 *    Unless required by applicable law or agreed to in writing, software
 *    distributed under the License is distributed on an "AS IS" BASIS,
 *    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 *    See the License for the specific language governing permissions and
 *    limitations under the License.
 */
package org.apache.ibatis.mapper;

import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.entity.SUser;

import java.util.List;
import java.util.Map;

/**
 * All rights Reserved, Designed By www.super-bytecode.com
 *
 * @ProjectName: source-mybatis3.5.8
 * @Package: org.apache.ibatis.mapper
 * @ClassName: SUserMapper
 * @Description: []
 * <p> </p>
 * @Author: [Lance Ting]
 * @Date: 2023/12/14 9:48
 * @Version: V1.0
 * @Copyright: 2023 www.super-bytecode.com Inc. All rights reserved.
 * TODO: 注意,本文件Lance Ting所作,如果转载或使用请标明具体出处!
 **/
public interface SUserMapper {
  List<SUser> selectUserAll();

  SUser selectUserByPrimary(@Param("id") Long id);

  Integer updateUser(SUser user);

  Integer addUser(SUser user);

  // SUser.xml中设置parameterType="java.lang.Integer"属性
  Integer deleteUser(Long id);


  // ------------------------------------------------------------------

  List<SUser> selectUserWithUserNameLike(SUser userCondition);

  List<SUser> selectUserWithUserNameChoose(SUser userCondition);

  SUser selectUserByCondition(Map<String, Object> paramMap);

  // SUser selectUserByCondition(@Param("id") Long id,@Param("userName")String userName);


  List<SUser> selectUserByCondition1(String userName, String nickName);


  List<SUser> selectUserByCondition2(@Param("userName") String userName, @Param("nickName") String nickName);


  List<SUser> selectUserByCondition3(SUser userCondition);


  List<SUser> selectUserByCondition4(@Param("id") Long id, String userName, SUser userCondition);
}
